/*
		文件操作相关函数的练习

		夏思成

		2024年4月14日

		西科大15号公寓楼
*/

//文件的打开和关闭

#include <stdio.h>

//int main()
//{
//	//打开文件,以读的形式。如果文件存在则正常打开，否则错误
//	FILE* pf = fopen("world.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//	//对文件进行操作
//	
//	//关闭文件
//	fclose(pf);
//	pf = NULL;
//	return 0;
//}

//
//int main()
//{
//	//打开文件
//	FILE* pf = fopen("world.txt", "w");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	//输出一个字符x到文件中
//	fputc('x', pf);
//
//	//关闭文件
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}




//
//int main()
//{
//	//打开文件
//	FILE* pf = fopen("world.txt", "w");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	//将24个字母输入到文件中
//	char ch = 'a';
//	while (ch<='z')
//	{
//		fputc(ch, pf);
//		ch++;
//	}
//	//关闭文件
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}

//从已有文件读取字符并打印在屏幕上

//打印一个字符
//int main()
//{
//	FILE* pf = fopen("world.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	printf("%c\n", fgetc(pf));
//
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}


//打印文件的所有内容
//
//int main()
//{
//	FILE* pf = fopen("world.txt", "r");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	//fgetc读到文件末尾会返回EOF
//
//	int n = 0;
//	while ((n = fgetc(pf))!= EOF)
//	{
//		printf("%c ", n);
//	}
//
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}

//文本行输入

//int main()
//{
//	FILE* pf = fopen("world.txt", "w");
//	if (pf == NULL)
//	{
//		perror("fopen");
//		return 1;
//	}
//
//	//一次在文件中写入一行
//	fputs("hello world", pf);
//
//	fclose(pf);
//	pf = NULL;
//
//	return 0;
//}


//从文件中读取一行信息，打印到屏幕上
int main()
{
	FILE* pf = fopen("world.txt", "r");
	if (pf == NULL)
	{
		perror("fopen");
		return 1;
	}

	//一次在文件中读取一行
	char arr[20] = { 0 };
	while ( fgets(arr, 13, pf) != NULL)
	{
		printf("%s", arr);
	}
	fclose(pf);
	pf = NULL;

	return 0;
}